最小二乘法

非线性最小二乘

Least Squares Method

最小化误差平方和 来求解参数
最小二乘法是一切误差最小化问题的基础,是 SLAM、机器学习、数据拟合、参数估计的核心数学工具。

基础知识

目标函数:

minx∑i=1n(yi−f(x,ti))2=minx∑i=1n∥ri(x)∥2

其中:

类型 误差特性 解法
线性最小二乘 误差关于参数是线性的 解析解(直接计算)
非线性最小二乘 误差关于参数是非线性的 迭代法(数值优化)

一、线性最小二乘法(解析解)

微积分的角度

线性代数的角度

向量投影
b=C+Dt
对 Ax=b,如果方程无解
则求解 ATAx^=ATb 得到方程的最优近似解 x^
使得 E−||Ax−b||2 取得最小值

概率论的角度

e=E[Y−(a+bX)]2

b0=Cov(X,Y)D(X) a0=E(Y)−b0E(X)

minE[Y−(a+bX)]2=E[Y−(a0+b0X)]2=DY−Cov2(X,Y)D(X)

二、非线性最小二乘法(迭代-数值优化)

非线性最小二乘法 无法直接求解析解,必须使用数值迭代法。

  1. 初始化参数 x0
  2. 计算当前残差 r(x) 和雅可比矩阵 J(x)
  3. 构造线性方程,计算步长 Δx
  4. 判断是否收敛(如步长足够小,残差变化足够小)
  5. 更新参数 x←x+Δx
  6. 重复步骤 2 ~ 5 直到收敛

一阶泰勒展开(线性化)

r(x+Δx)≈r(x)+J(x)Δx

其中:J(x) :雅可比矩阵

J(x)=∂r(x)∂x

高斯-牛顿法(Gauss-Newton)

通过线性化,将优化转化为如下问题:

minΔx∥r(x)+J(x)Δx∥2

解得:

(JTJ)Δx=−JTr(x)

这是一个 线性方程组 ,解出 Δx ,然后更新:

xk+1=xk+Δx

不断迭代,直到收敛。

Levenberg-Marquardt (LM) 法(更稳定)

高斯-牛顿法可能遇到:

(JTJ+λI)Δx=−JTr(x)

特点:

Dogleg 法(结合 GN 与梯度下降)

适用于稀疏大规模问题,结合两种步长,提升收敛效率。

三、实际应用

非线性最小二乘法库: g2o Ceres Solver

min{xi}∑(i,j)∈C∥zij−h(xi,xj)∥Ωij2

其中:

核心任务:利用非线性最小二乘法优化整张图,找到最一致的位姿和地图。


AI 结构化补充(2026-05-02)

Least Squares Method

最小化误差平方和 来求解参数
最小二乘法是一切误差最小化问题的基础,是 SLAM、机器学习、数据拟合、参数估计的核心数学工具。

定义与问题形态

最小二乘法把“不能完全满足的方程”改写为平方残差最小化问题。给定 A∈Rm×n 与 b∈Rm,当 Ax=b 无解时,不应把最小二乘说成精确求解 Ax=b;正确目标是

minx∥Ax−b∥22=minx∑i=1m(aiTx−bi)2.

其中 aiT 是 A 的第 i 行,aiTx−bi 是第 i 个方程的残差。若最小值由 x^ 取得,则 x^ 称为最小二乘问题的一个最小二乘解,Ax^ 是由模型真正给出的最佳可达右端。

类型 误差特性 解法
线性最小二乘 Ax−b 关于参数 x 线性 投影、正规方程、QR 分解等线性代数方法
非线性最小二乘 r(x) 关于参数非线性 线性化后迭代求解局部二次近似

线性代数视角:从无解到投影

矩阵 A 的所有可达右端组成列空间 C(A)。若 b∉C(A),则不存在 x 使 Ax=b,几何上要找的是 C(A) 中离 b 最近的点

p=Ax^.

这个 p 是 b 在 C(A) 上的向量投影,不可消除的残差为

e=b−Ax^=b−p.

最佳性条件是残差垂直于整个列空间:

e⊥C(A),ATe=0.

把 e=b−Ax^ 代入正交条件,就得到

AT(b−Ax^)=0⟺ATAx^=ATb.

因此最小二乘的核心不是“把无解方程强行解出来”,而是把 b 分解为可由列空间解释的投影 p 和垂直于列空间的剩余 e。

大图像:投影和左零空间

在线性最小二乘中,真正被分解的是右端向量 b:

b=p+e,p=Ax^∈C(A),e=b−p∈N(AT).

p 是模型能够解释的部分,e 是无法由 A 的列组合消除的部分。由于 Ax−p∈C(A) 且 e⊥C(A),任意参数 x 都满足

∥Ax−b∥2=∥Ax−p∥2+∥e∥2.

选择 x=x^ 使 Ax^=p,第一项降为 0,剩下的 ∥e∥2 就是不可再降低的最小平方误差。若把它除以观测数 m,就是拟合语境中的均方误差。

微积分视角:平方误差的一阶条件

令

E(x)=∥Ax−b∥22=(Ax−b)T(Ax−b).

展开得

E(x)=xTATAx−2xTATb+bTb,

梯度为

∇E(x)=2AT(Ax−b).

在最小点 x^ 处,梯度为零,于是再次得到正规方程 ATAx^=ATb。平方误差让一阶条件保持线性,这是最小二乘在数据拟合中易于计算的关键原因。

唯一性与边界条件

若 A 列独立,则 N(A)={0},ATA 可逆,最小二乘解唯一:

x^=(ATA)−1ATb.

若 A 列相关,则 ATA 奇异,最小二乘解可能不唯一,但所有解给出的 Ax^ 相同,也就是同一个投影 p。如果 b∈C(A),则最小二乘退化为精确求解,最小残差为 0;否则最小残差非零,表示模型或测量无法完全一致。

一个具体的秩亏例子是

A=[1111],b=[31].

两列完全相同,ATA 奇异。b 到列空间 span{(1,1)T} 的投影是 p=(2,2)T,因此只要求

Ax^=p⟺x^1+x^2=2.

所以 (2,0)T、(0,2)T、(1,1)T 都给出同一个最佳投影和同一个残差 e=(1,−1)T。投影唯一,系数不唯一;若需要唯一代表,通常再加上“范数最小”之类的选择准则。

直线拟合和平均数例子

拟合直线 bi≈C+Dti 时,参数为 x=(C,D)T,设计矩阵为

A=[1t11t2⋮⋮1tm],b=[b1b2⋮bm].

正规方程为

[m∑ti∑ti∑ti2][CD]=[∑bi∑tibi].

例如三点 (0,6),(1,0),(2,0) 不能被一条直线完全穿过。此时

A=[101112],b=[600].

正规方程为

[3335][CD]=[60],

解得 C=5, D=−3。最佳直线是 b=5−3t,它给出的投影高度为

p=(5,2,−1)T,

残差为

e=b−p=(1,−2,1)T.

这个残差既满足 1−2+1=0,也满足 (0,1,2)⋅e=0,因此它同时垂直于设计矩阵的全 1 列和时间列。

若只有一列全为 1,即用水平线 bi≈C 拟合数据,则

ATA=m,ATb=∑i=1mbi,C^=1m∑i=1mbi.

所以“用常数拟合一组数”的最小二乘解就是平均数,投影为 (C^,…,C^)T。

中心化与离群点

直线拟合中若把时间中心化为

Ti=ti−t¯,t¯=1m∑i=1mti,

则 ∑Ti=0,设计矩阵两列 (1,…,1)T 与 (T1,…,Tm)T 正交,于是

AnewTAnew=[m00∑Ti2].

这会把截距和斜率的正规方程解耦,体现了先正交化列向量的思想。比如时间 t=1,3,5 的平均数是 3,改用 T=t−3 后得到 T=−2,0,2,全 1 列与 T 列正交。若观测值为 b=(1,2,4)T,则

AnewTAnew=[3008],AnewTb=[76],

所以 C=7/3, D=6/8 可分开求出。这正是格拉姆-施密特正交化的思想:先让列向量正交,之后 ATA 接近或变成对角矩阵。

平方误差会把大残差按平方放大,所以普通最小二乘对离群点敏感。例如九个观测值为 0、一个观测值为 40,用水平线拟合时最小二乘给出平均数 4,而最小绝对误差会倾向于中位数 0。这说明 L2 目标计算方便、可微且有投影几何,但在异常值明显时可能不够稳健。

在同一组十个点 (1,0),…,(9,0),(10,40) 上,若仍用水平线,平方残差准则给 C=4;若最小化最大绝对误差,最佳常数在 0 和 40 中间,给 C=20;若最小化绝对残差和,最佳常数回到中位数 0。若改用直线 C+Dt,则

ATA=[105555385],ATb=[40400],

解得 C=−8, D=24/11。这说明离群点不仅会拉动平均高度,也会明显改变拟合斜率。

二、非线性最小二乘法(迭代-数值优化)

非线性最小二乘法 无法直接求解析解,必须使用数值迭代法。

  1. 初始化参数 x0
  2. 计算当前残差 r(x) 和雅可比矩阵 J(x)
  3. 构造线性方程,计算步长 Δx
  4. 判断是否收敛(如步长足够小,残差变化足够小)
  5. 更新参数 x←x+Δx
  6. 重复步骤 2 ~ 5 直到收敛

一阶泰勒展开(线性化)

r(x+Δx)≈r(x)+J(x)Δx

其中:J(x) :雅可比矩阵

J(x)=∂r(x)∂x

高斯-牛顿法(Gauss-Newton)

通过线性化,将优化转化为如下问题:

minΔx∥r(x)+J(x)Δx∥2

解得:

(JTJ)Δx=−JTr(x)

这是一个 线性方程组 ,解出 Δx ,然后更新:

xk+1=xk+Δx

不断迭代,直到收敛。

Levenberg-Marquardt (LM) 法(更稳定)

高斯-牛顿法可能遇到:

(JTJ+λI)Δx=−JTr(x)

特点:

Dogleg 法(结合 GN 与梯度下降)

适用于稀疏大规模问题,结合两种步长,提升收敛效率。

三、实际应用

非线性最小二乘法库: g2o Ceres Solver

min{xi}∑(i,j)∈C∥zij−h(xi,xj)∥Ωij2

其中:

核心任务:利用非线性最小二乘法优化整张图,找到最一致的位姿和地图。